package com.woniuxy.creditsystem.systemmag.service;


import com.github.pagehelper.PageInfo;
import com.woniuxy.creditsystem.common.bean.DownloadInfo;
import com.woniuxy.creditsystem.common.bean.ResultMsg;
import com.woniuxy.creditsystem.common.bean.RoleInfo;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * 角色的增、查
 * @author hejie
 */
public interface IDownloadService {

    /**
     * 把excel文件信息，存储到download_info中。 供“下载中心”下载
     * @param simpleFileName
     */
    void saveExcelInfo2downloadInfo(String simpleFileName);

    /**
     * 新增下载：把导出的 excel文件信息 保存到download_info中，便于后面在“下载中心”下载
     * @param dataSourceId 数据源（表）的id
     * @param reportName 用户定义的excel文件名字
     * @return
     */
    ResultMsg newDownload(Long dataSourceId,String reportName) throws IOException;

    /**
     * 把页面传回来的table数据，写入到excel文件中
     * @author hejie
     * @param tableDataJson 前端table中的数据（）1页
     * @param path 设置excel文件的存放路径
     * @param simpleFileNameUserSet 用户自定义excel文件名（如果为空，就程序设置一个文件名）
     * @return
     */
    ResultMsg write2excel(List<DownloadInfo> tableDataJson, String path,String simpleFileNameUserSet) throws IOException;

    /**
     * 新增下载
     * @author hejie
     * @param downloadInfo 被保存的DownloadInfo
     * @return 受影响的行数
     */
    int saveDownloadInfo(DownloadInfo downloadInfo);

    /**
     * 根据参数进行分页查询
     * @author hejie
     * @param pageNum
     * @param pageSize
     * @param downloadInfo 条件
     * @return
     */
    PageInfo<DownloadInfo> findAllByParams(int pageNum,int pageSize, DownloadInfo downloadInfo,String createTimeStr);
}
